package dbc;

import java.sql.*;

/**
 * 数据库连接类，用于提供数据库的链接和关闭操作
 */
public class DBConnection {
    private String driverName = "com.mysql.cj.jdbc.Driver";
    private String url = "jdbc:mysql://localhost:3306/drugstore?" +
            "serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8";
    private String userName = "root";
    private String pwd = "123456";


    /**
     * 根据DBConnection中定义的数据库连接参数，建立一个数据库连接，并且返回连接对象
     * @return
     */
    public Connection getConnection() throws ClassNotFoundException, SQLException {
        //加载驱动程序
        Class.forName(driverName);
        //
        Connection  conn= DriverManager.getConnection(url,userName,pwd);
        return conn;
    }

    /**
     * 提供关闭参数中提供的Connection ，Statement ，ResultSet对象
     * @param conn
     * @param stmt
     * @param rs
     */
    public void closeConnection(Connection conn, Statement stmt, ResultSet rs) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (stmt != null) {
                stmt.close();
            }
            if (conn != null) {
                conn.close();
            }
        }catch(Exception e){
            e.printStackTrace();//打印由系统提供的异常信息说明
        }
    }

    /**
     * 提供关闭参数中提供的Connection ，Statement
     * @param conn
     * @param stmt
     */
    public void closeConnection(Connection conn, Statement stmt) {
        try {
            if (stmt != null) {
                stmt.close();
            }
            if (conn != null) {
                conn.close();
            }
        }catch(Exception e){
            e.printStackTrace();//打印由系统提供的异常信息说明
        }
    }
}

